Function Reference

_TS_TaskCopy

Copies the definition of an existing Task to a new Task Definition object.

#Include <TaskScheduler.au3>
_TS_TaskCopy($oService, $sSourceTaskPath)

 

Parameters

$oService Task Scheduler Service object as returned by _TS_Open
$sSourceTaskPath Task Folder(s) and Task name of the source Task e.g. \folder1\folder1-1\source-task-name

 

Return Value

Success: Task Definition object
Failure: Returns 0 and sets @error:
    1101 - Error returned when reading the source Task. @extended is set to the error returned by _TS_TaskExportXML
    1102 - Error returned when creating the target Task. @extended is set to the error code returned by _TS_TaskImportXML

 

Remarks

You can modify the Task Definition as needed before calling _TS_TaskRegister to create a new Task in the same
or a different folder.

 

Related

 

Example


#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#AutoIt3Wrapper_AU3Check_Stop_OnWarning=y
#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w 7
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

#include <TaskScheduler.au3>

Global $sSourceTask = "\Test\Test-Task"
Global $sTargetFolder = "\Test\TestFolder2"
Global $sTargetTask = "Test-Task2"

; *****************************************************************************
; Connect to the Task Scheduler Service
; *****************************************************************************
Global $oService = _TS_Open()
If @error <> 0 Then Exit MsgBox($MB_ICONERROR, "Task Scheduler UDF", "Error connecting to the Task Scheduler Service. @error = " & @error & ", @extended = " & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))

; *****************************************************************************
; Copy the task and create the Task Definition
; *****************************************************************************
Global $oTaskDefinition = _TS_TaskCopy($oService, $sSourceTask)
If @error Then Exit MsgBox($MB_ICONERROR, "_TS_TaskCopy", "_TS_TaskCopy returned @error=" & @error & ", @extended=" & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))

;******************************************************************************
; Create the target Folder
;******************************************************************************
_TS_FolderCreate($oService, $sTargetFolder)

; *****************************************************************************
; Register the new Task
; *****************************************************************************
Global $oTask = _TS_TaskRegister($oService, $sTargetFolder, $sTargetTask, $oTaskDefinition)
If @error Then Exit MsgBox($MB_ICONERROR, "_TS_TaskCopy", "_TS_TaskCopy returned @error=" & @error & ", @extended=" & @extended & @CRLF & @CRLF & _TS_ErrorText(@error))

_TS_Close()